#ifndef TETRIS_SURFACE_H_
#define TETRIS_SURFACE_H_
#include "ui.h"
#include "../util/shape.h"
#include "tetris_table.h"
#include "../util/game.h"
#include "tetris_hint.h"

namespace Tetris{

class Tetris_Game : public UI::UI_Window {
private:
	Tetris_Table* p_ui_table;
	Game* p_game;
	UI::UI_Timer* p_timer;
	Tetris_NextShape* p_ui_nextShape;
	Tetris_Score* p_ui_score;
	Tetris_Player* p_ui_player;
	Tetris_Notice* p_ui_notice;
	int level;
	bool rightLayout;
public:
	Tetris_Game(int left, int top, int width, int height, bool rightlayout = true,UI::UI_Window* parent = NULL);
	bool HandleMessage(UI::UI_Message* pMessage);
	void Draw();
	void GameStateChange();
};

}
#endif
